package newsSystem.dao;

import newsSystem.newscate.NewsCateInfo;
import newsSystem.utils.DBUtil;
import newsSystem.newscate.NewsCateManager;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

public class NewsCategoryJDBC {
//    public static void newscate() {
        //    调用Util里面连接数据库中的类
//public static void main(String[] args) {
public static void newscate() {
        Connection connection = null;
        ResultSet resultSet = null;
        Statement statement = null;
        try {
            // 获取数据库连接
            connection = DBUtil.getConnection();

            // 定义 SQL 查询语句
            String sql = "SELECT * FROM newscategory";

            // 创建 Statement 对象执行查询
            statement = connection.createStatement();

            // 执行查询并获取结果集合
            resultSet = statement.executeQuery(sql);
//         创建一个管理员list列表对象
            List<NewsCateInfo> NewsCateList=new ArrayList<>();
            // 处理结果集合
            while (resultSet.next()) {
                // 获取每一行数据的具体字段值
//               获取管理员adminID
                int NewsCNo = resultSet.getInt("NewsCNo");
//                获取管理员password
                String NewsCName = resultSet.getString("NewsCName");

                // 打印结果
//                System.out.println("部门编号: " + NewsCNo + ", 部门名称: " + NewsCName);
//            创建对象并且将其添加到集合中去
                NewsCateInfo newscate=new NewsCateInfo(NewsCNo,NewsCName);
////                调用AdminManager类中的添加add方法加入到列表中
                NewsCateManager.addNewsCate(newscate);
            }

        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        } finally {
//            连接结束后释放资源
            DBUtil.closeConnection(connection);
//            释放结果集合
            DBUtil.closeResultSet(resultSet);
//            释放Statement 对象
            DBUtil.closePreparedStatement(statement);
        }
}
}
